{\rtf1\ansi\deff0\adeflang1025
{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\froman\fprq2\fcharset0 Times New Roman;}{\f2\fnil\fprq0\fcharset0 Courier New;}{\f3\froman\fprq2\fcharset0 Thorndale{\*\falt Times New Roman};}{\f4\fswiss\fprq2\fcharset0 Albany{\*\falt Arial};}{\f5\fnil\fprq2\fcharset0 Arial;}{\f6\fnil\fprq0\fcharset0 Verdana;}{\f7\fnil\fprq2\fcharset0 HG Mincho Light J{\*\falt msmincho};}{\f8\fnil\fprq2\fcharset0 Arial Unicode MS;}}
{\colortbl;\red0\green0\blue0;\red0\green0\blue128;\red255\green255\blue255;\red128\green128\blue128;}
{\stylesheet{\s1\li86\ri86\lin86\rin86\fi0\sb86\sa86\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f6\fs20\lang1033\loch\f6\fs20\lang1033\snext1 Normal;}
{\s2\li86\ri86\lin86\rin86\fi0\sb240\sa283\keepn\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs28\lang255\ltrch\dbch\af7\langfe255\hich\f4\fs28\lang1033\loch\f4\fs28\lang1033\sbasedon1\snext3 Heading;}
{\s3\li0\ri0\lin0\rin0\fi0\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f6\fs20\lang1033\loch\f6\fs20\lang1033\sbasedon1\snext3 Body Text;}
{\s4\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f6\fs20\lang1033\loch\f6\fs20\lang1033\sbasedon3\snext4 List;}
{\s5\li86\ri86\lin86\rin86\fi0\sb120\sa120\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af6\afs24\lang255\ai\ltrch\dbch\af6\langfe255\hich\f6\fs24\lang1033\i\loch\f6\fs24\lang1033\i\sbasedon1\snext5 caption;}
{\s6\li86\ri86\lin86\rin86\fi0\sb86\sa86\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f6\fs20\lang1033\loch\f6\fs20\lang1033\sbasedon1\snext6 Index;}
{\s7\li86\ri86\lin86\rin86\fi0\sa283\brdrb\brdrdb\brdrw15\brdrcf4\brsp0{\*\brdrb\brdlncol4\brdlnin1\brdlnout1\brdlndist20}\brsp0\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f6\fs12\lang1033\loch\f6\fs12\lang1033\sbasedon1\snext3 Horizontal Line;}
{\s8\li86\ri86\lin86\rin86\fi0\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f6\fs20\lang1033\i\loch\f6\fs20\lang1033\i\sbasedon1\snext8 envelope return;}
{\s9\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f6\fs20\lang1033\loch\f6\fs20\lang1033\sbasedon3\snext9 Table Contents;}
{\s10\li86\ri86\lin86\rin86\fi0\sb86\sa86\cf0{\*\tlswg8236}\tqc\tx4904{\*\tlswg8236}\tqr\tx9723{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f6\fs20\lang1033\loch\f6\fs20\lang1033\sbasedon1\snext10 footer;}
{\s11\li86\ri86\lin86\rin86\fi0\sb86\sa86\cf0{\*\tlswg8236}\tqc\tx4904{\*\tlswg8236}\tqr\tx9723{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f6\fs20\lang1033\loch\f6\fs20\lang1033\sbasedon1\snext11 header;}
{\s12\li86\ri86\lin86\rin86\fi0\sb240\sa283\keepn\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs48\lang255\ab\ltrch\dbch\af7\langfe255\hich\f3\fs48\lang1033\b\loch\f3\fs48\lang1033\b\sbasedon2\snext3{\*\soutlvl0} heading 1;}
{\s13\li86\ri86\lin86\rin86\fi0\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af2\afs20\lang255\ltrch\dbch\af2\langfe255\hich\f2\fs20\lang1033\loch\f2\fs20\lang1033\sbasedon1\snext13 Preformatted Text;}
{\*\cs15\cf0\rtlch\af5\afs24\lang255\ltrch\dbch\af5\langfe255\hich\f0\fs24\lang1033\loch\f0\fs24\lang1033 Endnote Symbol;}
{\*\cs16\cf0\rtlch\af5\afs24\lang255\ltrch\dbch\af5\langfe255\hich\f0\fs24\lang1033\loch\f0\fs24\lang1033 Footnote Symbol;}
{\*\cs17\cf2\ul\ulc0\rtlch\af5\afs24\lang255\ltrch\dbch\af5\langfe255\hich\f0\fs24\lang1033\loch\f0\fs24\lang1033 Internet link;}
}
{\info{\title sassion mode}{\creatim\yr2009\mo4\dy22\hr4\min23}{\revtim\yr1601\mo1\dy1\hr0\min0}{\printim\yr1601\mo1\dy1\hr0\min0}{\comment StarWriter}{\vern6800}}\deftab709
{\*\pgdsctbl
{\pgdsc0\pgdscuse195\pgwsxn12240\pghsxn15840\marglsxn1800\margrsxn1800\margtsxn1440\margbsxn1440\pgdscnxt0 Standard;}
{\pgdsc1\pgdscuse195\pgwsxn12240\pghsxn15840\marglsxn1800\margrsxn1800\margtsxn1440\margbsxn1440\pgdscnxt1 Endnote;}
{\pgdsc2\pgdscuse195\pgwsxn12240\pghsxn15840\marglsxn1134\margrsxn567\margtsxn567\margbsxn567{\cbpat3}\pgdscnxt2 HTML;}}
{\*\pgdscno2}\paperh15840\paperw12240\margl1134\margr567\margt567\margb567\sectd\sbknone\pgwsxn12240\pghsxn15840\marglsxn1134\margrsxn567\margtsxn567\margbsxn567{\cbpat3}\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc
\pard\plain \ltrpar\s3\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\li0\ri0\lin0\rin0\fi0\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f6\fs20\lang1033\loch\f6\fs20\lang1033 {\rtlch \ltrch\loch\f6\fs20\lang1033\i0\b0 *************************http://www.eggheadcafe.com/articles/20021016.asp*******************************\line \line \line Storage location\line \line InProc session kept as live objects in web server (aspnet_wp.exe). Use "cookieless" configuration in web.config to "munge" the sess
ionId onto the URL (solves cookie/domain/path RFC problems too!)\line \line StateServer session serialized and stored in memory in a separate process (aspnet_state.exe). State Server can run on another machine\line \line SQLServer session serialized and stored in SQL server\line \line 
\line \line \line \line Performance\line \line InProc Fastest, but the more session data, the more memory is consumed on the web server, and that can affect performance.\line \line StateServer When storing data of basic types (e.g. string, integer, etc), in one test environment it's 15% slower t
han InProc. However, the cost of serialization/deserialization can affect performance if you're storing lots of objects. You have to do performance testing for your own scenario.\line \line SQLServer When storing data of basic types (e.g. string, integer, etc), in o
ne test environment it's 25% slower than InProc. Same warning about serialization as in StateServer.\line \line \line \line Performance tips for Out-of-Proc (OOP) modes\line \line If you're using OOP modes (State Server or SQL Server), one of your major cost is the serialization/deseri
alization of objects in your session state. ASP.NET performs the serialization/deserialization of certain "basic" types using an optimized internal method. "Basic" types include numeric types of all sizes (e.g. Int, Byte, Decimal, ... etc), String, DateTim
e, TimeSpan, Guid, IntPtr and UIntPtr.\line \line If you have a session variable (e.g. an ArrayList object) that is not one of the "basic" types, ASP.NET will serialize/deserialize it using the BinaryFormatter, which is relatively slower.\line \line For performance sake it is
 better to store all session state data using one of the "basic" types listed above. For example, if you want to store two things, Name and Address, in session state, you can either\line \line (a) store them using two String session variables, or\line (b) create a class 
with two String members, and store that class object in a session\line variable. Performance wise, you should go with option (a).\line \line \line Robustness\line \line \line InProc - Session state will be lost if the worker process (aspnet_wp.exe) recycles, or if the appdomain restarts. It
's because session state is stored in the memory space of an appdomain. For details, see KB324772.\line StateServer - Solve the session state loss problem in InProc mode. Allows a webfarm to store session on a central server. Single point of failure at the Stat
e Server.\line SQLServer - Similar to StateServer. Moreover, session state data can survive a SQL server restart, and you can also take advantage of SQL server failover cluster, after you've followed instructions in KB 311029.\line \line Caveats\line \line InProc - It won't work i
n web garden mode, because in that mode multiple aspnet_wp.exe will be running on the same machine. Switch to StateServer or SQLServer when using web garden. Also Session_End event is supported only in InProc mode.\line \line StateServer\line \line - In a web farm, make sure 
you have the same <machineKey> in all your web servers. See KB 313091 on how to do it.\line - Also, make sure your objects are serializable. See KB 312112 for details.\line - For session state to be maintained across different web servers in the web farm, the Applic
ation Path of the website (For example \\LM\\W3SVC\\2) in the IIS Metabase should be identical in all the web servers in the web farm. See KB 325056 for details\line SQLServer\line \line \line - If you specify integrated security in the connection string (e.g. "trusted_connectio
n=true", or "integrated security=sspi"), it won't work if you also turn on impersonation in asp.net. Unfortunately, this bug\line isn't reported in KB yet. (There is a QFE fix for it.)\line - Also, make sure your objects are serializable. See KB 312112 for details.\line 
- For session state to be maintained across different web servers in the web farm, the Application Path of the website (For example \\LM\\W3SVC\\2) in the IIS Metabase should be identical in all the web servers in the web farm.\line See KB 325056 for details.\line \line \line \line \line 
}
\par }